<ui:composition template="/WEB-INF/templates/templateARS.xhtml"
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.org/ui"
	xmlns:f="http://java.sun.com/jsf/core">

	<ui:define name="conteudo">
		<h:form id="form">
			<p:panel id="panel" header="Cadastro de Pacientes">
				<h:inputHidden value="#{pacienteBean.paciente.id}" />
				<h:inputHidden value="#{pacienteBean.codCartao}" />
				<h:panelGrid columns="3">
					<p:outputLabel value="Nome: " for="nome" />
					<p:inputText id="nome" value="#{pacienteBean.paciente.nome}"
						required="true" />
					<p:message for="nome" />

					<p:outputLabel value="CPF: " for="cpf" />
					<p:inputText id="cpf" value="#{pacienteBean.paciente.cpf}"
						required="true" maxlength="11">
						<f:validator
							validatorId="br.com.hsp.system.validator.CPFValidator" />
					</p:inputText>
					<p:message for="cpf" />

					<p:outputLabel value="RG: " for="rg" />
					<p:inputText id="rg" value="#{pacienteBean.paciente.rg}"
						required="true" maxlength="10">
						<!--  <f:validator validatorId="br.com.hsp.system.validator.CPFValidator" />  -->
					</p:inputText>
					<p:message for="rg" />

					<p:outputLabel value="Sexo: " for="sexo" />
					<p:selectOneMenu id="sexo"
						value="#{pacienteBean.paciente.sexo}">
						<f:selectItem itemLabel="Selecionar" itemValue="" />
						<f:selectItem itemLabel="Masculino" itemValue="Masculino" />
						<f:selectItem itemLabel="Feminino" itemValue="Feminino" />
					</p:selectOneMenu>
					<p:message for="sexo" />

					<p:outputLabel value="Estado Civil: " for="civilState" />
					<p:selectOneMenu id="civilState"
						value="#{pacienteBean.paciente.civilState}">
						<f:selectItem itemLabel="Selecionar" itemValue="" />
						<f:selectItem itemLabel="Solteiro(a)" itemValue="Solteiro(a)" />
						<f:selectItem itemLabel="Casado(a)" itemValue="Casado(a)" />
						<f:selectItem itemLabel="Viúvo(a)" itemValue="Viúvo(a)" />
					</p:selectOneMenu>
					<p:message for="civilState" />

					<p:outputLabel value="Data de Nascimento: " for="dataNasc" />
					<p:calendar id="dataNasc"
						value="#{pacienteBean.paciente.nascimento}" yearRange="c-100:c"
						navigator="true" pattern="dd/MM/yyyy">
					</p:calendar>
					<p:message for="dataNasc" />

					<p:outputLabel value="Endereço: " for="endereco" />
					<p:inputText id="endereco"
						value="#{pacienteBean.paciente.endereco}" />
					<p:message for="endereco" />

					<p:outputLabel value="Telefone: " for="telefone" />
					<p:inputText id="telefone"
						value="#{pacienteBean.paciente.telefone}" />
					<p:message for="telefone" />
					
					<p:outputLabel value="Senha: " for="senha" />
					<p:inputText id="senha"
						value="#{pacienteBean.paciente.senha}" />
					<p:message for="senha" />

				</h:panelGrid>
				<p:commandButton value="Cadastrar"
					actionListener="#{pacienteBean.add}" update="form,:listapaciente" />
				<p:commandButton value="Atualizar" update=":listapaciente" />
			</p:panel>
		</h:form>
		<h:form id="listapaciente">
			<p:panel header="Lista de Pacientes">
				<p:dataTable id="pacientes" var="paciente"
					value="#{pacienteBean.pacientes}" paginator="true" rows="5">

					<p:column headerText="Nome" style="width:24%">
						<h:outputText value="#{paciente.nome}" />
					</p:column>

					<p:column headerText="CPF" style="width:24%">
						<h:outputText value="#{paciente.cpf}">

						</h:outputText>
					</p:column>

					<p:column headerText="Cod. Cartão" style="width:24%">
						<h:outputText value="#{paciente.cartao.codigo_cartao}" />
					</p:column>

					<p:column headerText="Telefone" style="width:24%">
						<h:outputText value="#{paciente.telefone}" />
					</p:column>

					<p:column headerText="Endereço" style="width:24%">
						<h:outputText value="#{paciente.endereco}" />
					</p:column>
					<p:column style="width:24%">
						<p:commandButton update=":form" value="Editar"
							actionListener="#{pacienteBean.preparaAlteracao}">
							<f:param name="id" value="#{paciente.id}" />
						</p:commandButton>
					</p:column>
					<p:column style="width:24%">

						<p:commandButton value="remover" oncomplete="confirmation.show()"
							actionListener="#{pacienteBean.preparaRemove}"
							update=":removeform">
							<f:param name="id" value="#{paciente.id}" />
						</p:commandButton>
					</p:column>
				</p:dataTable>
			</p:panel>
		</h:form>
		<h:form id="removeform">
			<p:confirmDialog id="confirmDialog"
				message="Tem certeza que deseja remover?"
				header="Confrimação de remoção" severity="alert"
				widgetVar="confirmation">
				<h:inputHidden value="#{pacienteBean.paciente.id}" />
				<p:commandButton id="confirm" value="Sim" update=":listapaciente"
					oncomplete="confirmation.hide()"
					actionListener="#{pacienteBean.remove}">
				</p:commandButton>
				<p:commandButton id="decline" value="Não"
					oncomplete="confirmation.hide()"
					actionListener="#{pacienteBean.limpaRemove}" />

			</p:confirmDialog>


		</h:form>

	</ui:define>
</ui:composition>